<?php

namespace Sisesporte\View\Helper;

use Zend\View\Helper\AbstractHelper;
use Sisesporte\Auth\PessoaAuth;

class MontaMenu extends AbstractHelper
{

    public function __invoke ()
    {
        $pessoaAuth = new PessoaAuth();
        return $this->_getArray($pessoaAuth->getLoggedUser());
    }

    private function _montaHtmlMenu (array $data)
    {

        $html = "";
        foreach ($data['menu'] as $menu) {
            $html .= "<li class = \"nav-header\">{$menu['tipo']}</li>";
            foreach ($menu['submenus'] as $submenu) {
                $url = "";
                if (!empty($submenu['controller']) && !empty($submenu['action'])) {
                    $url = "{$submenu['controller']}/{$data['action']}";
                } else {
                    if (!empty($submenu['controller']) && empty($submenu['action'])) {
                        $url = "{$submenu['controller']}";
                    }
//                    else{
//                        if ((empty($submenu['controller']) && empty($submenu['action']))){
//                           $url = "aluno";
//                        }
//                    }
                }

                $submenu['target'] = ($submenu['target'] != "") ? $submenu['target'] : "";
                $html .= "<li>";
                $html .= "<a href=\"/admin/{$url}\" {$submenu['target']}>";
                $html .= "<i class=\"{$submenu['icone']}\"></i> {$submenu['name']}";
                $html .= "</a>";
                $html .= "</li>";
            }
        }
        return $html;
    }

    private function _getArray ($pessoaAuth = NULL)
    {
        switch ($pessoaAuth->inTipoPessoa) {
            case 'A':
                $arrayAluno = array(
                    'menu' => array(
                        1 => array(
                            'tipo' => 'ALUNO',
                            'submenus' => array(
                                1 => array(
                                    'name' => 'Editar Perfil',
                                    'controller' => 'aluno/edit/' . $pessoaAuth->sqPessoa,
                                    'icone' => 'icon-edit'
                                ),
                                2 => array(
                                    'name' => 'Visualizar',
                                    'controller' => 'aluno/view/' . $pessoaAuth->sqPessoa,
                                    'icone' => 'icon-list-alt'
                                )
                            )
                        ),
                        2 => array(
                            'tipo' => 'PRÉ-MATRÍCULA',
                            'submenus' => array(
                                1 => array(
                                    'name' => 'Visualizar',
                                    'controller' => 'pre-matricula',
                                    'icone' => 'icon-list-alt'
                                )
                            )
                        ),
                        3 => array(
                            'tipo' => 'FINANCEIRO',
                            'submenus' => array(
                                1 => array(
                                    'name' => 'Emitir Boleto',
                                    'controller' => 'financeiro/boleto/'. $pessoaAuth->sqPessoa,
                                    'icone' => 'icon-user',
                                    'target' => 'target="_blank"'
                                )
                            )
                        ),
                    )
                );
                return $this->_montaHtmlMenu($arrayAluno);

                break;
            case 'P':

                break;
            case 'S':
                $arrayServidor = array(
                    'menu' => array(
                        1 => array(
                            'tipo' => 'USUÁRIOS',
                            'submenus' => array(
                                1 => array(
                                    'name' => 'Aluno',
                                    'controller' => 'aluno',
                                    'icone' => 'icon-user'
                                ),
                                2 => array(
                                    'name' => 'Professor',
                                    'controller' => 'professor',
                                    'icone' => 'icon-user'
                                ),
                                3 => array(
                                    'name' => 'Servidor',
                                    'controller' => 'servidor',
                                    'icone' => 'icon-user'
                                ),
                                4 => array(
                                    'name' => 'Comissionado',
                                    'controller' => 'comissionado',
                                    'icone' => 'icon-user'
                                ),
                                5 => array(
                                    'name' => 'Estagiário',
                                    'controller' => 'estagiario',
                                    'icone' => 'icon-user'
                                )
                            )
                        ),
                        2 => array(
                            'tipo' => 'MATRÍCULA',
                            'submenus' => array(
                                1 => array(
                                    'name' => 'Sortear',
                                    'controller' => 'sorteio',
                                    'icone' => 'icon-user'
                                )
//                                2 => array(
//                                    'name' => 'Matricular',
//                                    'controller' => 'pre-matricula',
//                                    'icone' => 'icon-user'
//                                ),
                            )
                        ),
                        3 => array(
                            'tipo' => 'ADMINISTRATIVA',
                            'submenus' => array(
                                1 => array(
                                    'name' => 'Instituição de Ensino',
                                    'controller' => 'instituicao-ensino',
                                    'icone' => 'icon-user'
                                ),
                                2 => array(
                                    'name' => 'Modalidade',
                                    'controller' => 'modalidade',
                                    'icone' => 'icon-user'
                                ),
                                3 => array(
                                    'name' => 'Turma',
                                    'controller' => 'turma',
                                    'icone' => 'icon-user'
                                ),
                                4 => array(
                                    'name' => 'Profissao',
                                    'controller' => 'profissao',
                                    'icone' => 'icon-user'
                                ),
                                5 => array(
                                    'name' => 'Tipo de Telefone',
                                    'controller' => 'tipo-telefone',
                                    'icone' => 'icon-user'
                                ),
                            )
                        ),
                        4 => array(
                            'tipo' => 'FINANCEIRO',
                            'submenus' => array(
                                1 => array(
                                    'name' => 'Conciliação Bancária',
                                    'controller' => 'financeiro',
                                    'icone' => 'icon-user'
                                ),
                                2 => array(
                                    'name' => 'Manter Boleto',
                                    'controller' => 'financeiro',
                                    'icone' => 'icon-user'
                                ),
                                3 => array(
                                    'name' => 'Gerenciar Créditos',
                                    'controller' => 'financeiro',
                                    'icone' => 'icon-user'
                                ),
                            )
                        ),
                        5 => array(
                            'tipo' => 'RELATÓRIOS',
                            'submenus' => array(
                                1 => array(
                                    'name' => 'Efetivar',
                                    'controller' => 'pre-matricula',
                                    'icone' => 'icon-user'
                                ),
                                2 => array(
                                    'name' => 'Sortear',
                                    'controller' => 'pre-matricula',
                                    'icone' => 'icon-user'
                                ),
                                3 => array(
                                    'name' => 'Vagas por Modalidade',
                                    'controller' => 'vagas-modalidade',
                                    'icone' => 'icon-user'
                                ),

                                4 => array(
                                    'name' => 'Turma por Ano',
                                    'controller' => 'turma-ano',
                                    'icone' => 'icon-user'
                                ),

                                5 => array(
                                    'name' => 'Vagas por Turma',
                                    'controller' => 'vagas-turma',
                                    'icone' => 'icon-user'
                                ),                                

                            )
                        )
                    )
                );
                return $this->_montaHtmlMenu($arrayServidor);
                break;
        }
    }

}
